package uml2Cb;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Vector;

public interface ControllerInterface
{
  public void addCExpression(CExpression oo);
    public void killCExpression(CExpression cexpressionxx);
  public void killAbstractCExpression(CExpression cexpressionxx);

  public void killAbstractCExpression(List cexpressionxx);

 public void settype(CExpression cexpressionx, CType typexx);
 public void setelementType(CExpression cexpressionx, CType elementTypexx);
  public void addCBinaryExpression(CBinaryExpression oo);
    public void killCBinaryExpression(CBinaryExpression cbinaryexpressionxx);
 public void setleft(CBinaryExpression cbinaryexpressionx, CExpression leftxx);
 public void setright(CBinaryExpression cbinaryexpressionx, CExpression rightxx);
  public void addCConditionalExpression(CConditionalExpression oo);
    public void killCConditionalExpression(CConditionalExpression cconditionalexpressionxx);
 public void settest(CConditionalExpression cconditionalexpressionx, CExpression testxx);
 public void setifExpr(CConditionalExpression cconditionalexpressionx, CExpression ifExprxx);
 public void setelseExpr(CConditionalExpression cconditionalexpressionx, CExpression elseExprxx);
  public void addCUnaryExpression(CUnaryExpression oo);
    public void killCUnaryExpression(CUnaryExpression cunaryexpressionxx);
 public void setargument(CUnaryExpression cunaryexpressionx, CExpression argumentxx);
  public void addCType(CType oo);
    public void killCType(CType ctypexx);
  public void killAbstractCType(CType ctypexx);

  public void killAbstractCType(List ctypexx);

  public void addCBasicExpression(CBasicExpression oo);
    public void killCBasicExpression(CBasicExpression cbasicexpressionxx);
 public void setparameters(CBasicExpression cbasicexpressionx, List parametersxx);
   public void addparameters(CBasicExpression cbasicexpressionx, CExpression parametersxx);
   public void removeparameters(CBasicExpression cbasicexpressionx, CExpression parametersxx);
   public void setarrayIndex(CBasicExpression cbasicexpressionx, List arrayIndexxx);
   public void addarrayIndex(CBasicExpression cbasicexpressionx, CExpression arrayIndexxx);
   public void removearrayIndex(CBasicExpression cbasicexpressionx, CExpression arrayIndexxx);
   public void setreference(CBasicExpression cbasicexpressionx, List referencexx);
   public void addreference(CBasicExpression cbasicexpressionx, CExpression referencexx);
   public void removereference(CBasicExpression cbasicexpressionx, CExpression referencexx);
    public void addType(Type oo);
    public void killType(Type typexx);
  public void killAbstractType(Type typexx);

  public void killAbstractType(List typexx);

  public void addClassifier(Classifier oo);
    public void killClassifier(Classifier classifierxx);
  public void killAbstractClassifier(Classifier classifierxx);

  public void killAbstractClassifier(List classifierxx);

  public void addDataType(DataType oo);
    public void killDataType(DataType datatypexx);
  public void killAbstractDataType(DataType datatypexx);

  public void killAbstractDataType(List datatypexx);

  public void addPrimitiveType(PrimitiveType oo);
    public void killPrimitiveType(PrimitiveType primitivetypexx);
  public void addEntity(Entity oo);
    public void killEntity(Entity entityxx);
 public void setownedOperation(Entity entityx, List ownedOperationxx);
   public void addownedOperation(Entity entityx, Operation ownedOperationxx);
   public void removeownedOperation(Entity entityx, Operation ownedOperationxx);
   public void setownedAttribute(Entity entityx, List ownedAttributexx);
   public void addownedAttribute(Entity entityx, Property ownedAttributexx);
   public void removeownedAttribute(Entity entityx, Property ownedAttributexx);
    public void addCollectionType(CollectionType oo);
    public void killCollectionType(CollectionType collectiontypexx);
 public void setelementType(CollectionType collectiontypex, Type elementTypexx);
 public void setkeyType(CollectionType collectiontypex, Type keyTypexx);
  public void addExpression(Expression oo);
    public void killExpression(Expression expressionxx);
  public void killAbstractExpression(Expression expressionxx);

  public void killAbstractExpression(List expressionxx);

 public void settype(Expression expressionx, Type typexx);
 public void setelementType(Expression expressionx, Type elementTypexx);
  public void addBinaryExpression(BinaryExpression oo);
    public void killBinaryExpression(BinaryExpression binaryexpressionxx);
 public void setleft(BinaryExpression binaryexpressionx, Expression leftxx);
 public void setright(BinaryExpression binaryexpressionx, Expression rightxx);
  public void addConditionalExpression(ConditionalExpression oo);
    public void killConditionalExpression(ConditionalExpression conditionalexpressionxx);
 public void settest(ConditionalExpression conditionalexpressionx, Expression testxx);
 public void setifExp(ConditionalExpression conditionalexpressionx, Expression ifExpxx);
 public void setelseExp(ConditionalExpression conditionalexpressionx, Expression elseExpxx);
  public void addUnaryExpression(UnaryExpression oo);
    public void killUnaryExpression(UnaryExpression unaryexpressionxx);
 public void setargument(UnaryExpression unaryexpressionx, Expression argumentxx);
  public void addCollectionExpression(CollectionExpression oo);
    public void killCollectionExpression(CollectionExpression collectionexpressionxx);
 public void setelements(CollectionExpression collectionexpressionx, List elementsxx);
   public void addelements(CollectionExpression collectionexpressionx, Expression elementsxx);
   public void removeelements(CollectionExpression collectionexpressionx, Expression elementsxx);
    public void addBasicExpression(BasicExpression oo);
    public void killBasicExpression(BasicExpression basicexpressionxx);
 public void setparameters(BasicExpression basicexpressionx, List parametersxx);
   public void addparameters(BasicExpression basicexpressionx, Expression parametersxx);
   public void removeparameters(BasicExpression basicexpressionx, Expression parametersxx);
   public void setreferredProperty(BasicExpression basicexpressionx, List referredPropertyxx);
   public void addreferredProperty(BasicExpression basicexpressionx, Property referredPropertyxx);
   public void removereferredProperty(BasicExpression basicexpressionx, Property referredPropertyxx);
   public void setcontext(BasicExpression basicexpressionx, List contextxx);
   public void addcontext(BasicExpression basicexpressionx, Entity contextxx);
   public void removecontext(BasicExpression basicexpressionx, Entity contextxx);
   public void setarrayIndex(BasicExpression basicexpressionx, List arrayIndexxx);
   public void addarrayIndex(BasicExpression basicexpressionx, Expression arrayIndexxx);
   public void removearrayIndex(BasicExpression basicexpressionx, Expression arrayIndexxx);
   public void setobjectRef(BasicExpression basicexpressionx, List objectRefxx);
   public void addobjectRef(BasicExpression basicexpressionx, BasicExpression objectRefxx);
   public void removeobjectRef(BasicExpression basicexpressionx, BasicExpression objectRefxx);
    public void addProperty(Property oo);
    public void killProperty(Property propertyxx);
 public void settype(Property propertyx, Type typexx);
 public void setinitialValue(Property propertyx, Expression initialValuexx);
 public void setowner(Property propertyx, Entity ownerxx);
  public void addExp2C(Exp2C oo);
    public void killExp2C(Exp2C exp2cxx);
  public void addCPrimitiveType(CPrimitiveType oo);
    public void killCPrimitiveType(CPrimitiveType cprimitivetypexx);
  public void addCEnumeration(CEnumeration oo);
    public void killCEnumeration(CEnumeration cenumerationxx);
 public void setownedLiteral(CEnumeration cenumerationx, List ownedLiteralxx);
   public void addownedLiteral(CEnumeration cenumerationx, CEnumerationLiteral ownedLiteralxx);
   public void removeownedLiteral(CEnumeration cenumerationx, CEnumerationLiteral ownedLiteralxx);
    public void addCEnumerationLiteral(CEnumerationLiteral oo);
    public void killCEnumerationLiteral(CEnumerationLiteral cenumerationliteralxx);
  public void addCArrayType(CArrayType oo);
    public void killCArrayType(CArrayType carraytypexx);
 public void setcomponentType(CArrayType carraytypex, CType componentTypexx);
  public void addCPointerType(CPointerType oo);
    public void killCPointerType(CPointerType cpointertypexx);
 public void setpointsTo(CPointerType cpointertypex, CType pointsToxx);
  public void addCStruct(CStruct oo);
    public void killCStruct(CStruct cstructxx);
 public void setmembers(CStruct cstructx, List membersxx);
   public void addmembers(CStruct cstructx, CMember membersxx);
   public void removemembers(CStruct cstructx, CMember membersxx);
   public void setallMembers(CStruct cstructx, List allMembersxx);
   public void addallMembers(CStruct cstructx, CMember allMembersxx);
   public void removeallMembers(CStruct cstructx, CMember allMembersxx);
   public void setinterfaces(CStruct cstructx, List interfacesxx);
   public void addinterfaces(CStruct cstructx, CStruct interfacesxx);
   public void removeinterfaces(CStruct cstructx, CStruct interfacesxx);
    public void addCMember(CMember oo);
    public void killCMember(CMember cmemberxx);
 public void settype(CMember cmemberx, CType typexx);
  public void addCVariable(CVariable oo);
    public void killCVariable(CVariable cvariablexx);
 public void settype(CVariable cvariablex, CType typexx);
  public void addCProgram(CProgram oo);
    public void killCProgram(CProgram cprogramxx);
 public void setoperations(CProgram cprogramx, List operationsxx);
   public void addoperations(CProgram cprogramx, COperation operationsxx);
   public void removeoperations(CProgram cprogramx, COperation operationsxx);
   public void setvariables(CProgram cprogramx, List variablesxx);
   public void addvariables(CProgram cprogramx, CVariable variablesxx);
   public void removevariables(CProgram cprogramx, CVariable variablesxx);
   public void setstructs(CProgram cprogramx, List structsxx);
   public void addstructs(CProgram cprogramx, CStruct structsxx);
   public void removestructs(CProgram cprogramx, CStruct structsxx);
    public void addCFunctionPointerType(CFunctionPointerType oo);
    public void killCFunctionPointerType(CFunctionPointerType cfunctionpointertypexx);
 public void setdomainType(CFunctionPointerType cfunctionpointertypex, CType domainTypexx);
 public void setrangeType(CFunctionPointerType cfunctionpointertypex, CType rangeTypexx);
  public void addCOperation(COperation oo);
    public void killCOperation(COperation coperationxx);
 public void setparameters(COperation coperationx, List parametersxx);
   public void addparameters(COperation coperationx, CVariable parametersxx);
   public void removeparameters(COperation coperationx, CVariable parametersxx);
   public void setreturnType(COperation coperationx, CType returnTypexx);
 public void setcode(COperation coperationx, CStatement codexx);
  public void addStatement(Statement oo);
    public void killStatement(Statement statementxx);
  public void killAbstractStatement(Statement statementxx);

  public void killAbstractStatement(List statementxx);

  public void addReturnStatement(ReturnStatement oo);
    public void killReturnStatement(ReturnStatement returnstatementxx);
 public void setreturnValue(ReturnStatement returnstatementx, List returnValuexx);
   public void addreturnValue(ReturnStatement returnstatementx, Expression returnValuexx);
   public void removereturnValue(ReturnStatement returnstatementx, Expression returnValuexx);
    public void addBehaviouralFeature(BehaviouralFeature oo);
    public void killBehaviouralFeature(BehaviouralFeature behaviouralfeaturexx);
  public void killAbstractBehaviouralFeature(BehaviouralFeature behaviouralfeaturexx);

  public void killAbstractBehaviouralFeature(List behaviouralfeaturexx);

 public void setactivity(BehaviouralFeature behaviouralfeaturex, Statement activityxx);
  public void addOperation(Operation oo);
    public void killOperation(Operation operationxx);
 public void setowner(Operation operationx, Entity ownerxx);
  public void addUseCase(UseCase oo);
    public void killUseCase(UseCase usecasexx);
 public void setparameters(UseCase usecasex, List parametersxx);
   public void addparameters(UseCase usecasex, Property parametersxx);
   public void removeparameters(UseCase usecasex, Property parametersxx);
   public void setresultType(UseCase usecasex, Type resultTypexx);
 public void setclassifierBehaviour(UseCase usecasex, Statement classifierBehaviourxx);
  public void addBreakStatement(BreakStatement oo);
    public void killBreakStatement(BreakStatement breakstatementxx);
  public void addOperationCallStatement(OperationCallStatement oo);
    public void killOperationCallStatement(OperationCallStatement operationcallstatementxx);
 public void setcallExp(OperationCallStatement operationcallstatementx, Expression callExpxx);
  public void addImplicitCallStatement(ImplicitCallStatement oo);
    public void killImplicitCallStatement(ImplicitCallStatement implicitcallstatementxx);
 public void setcallExp(ImplicitCallStatement implicitcallstatementx, Expression callExpxx);
  public void addLoopStatement(LoopStatement oo);
    public void killLoopStatement(LoopStatement loopstatementxx);
  public void killAbstractLoopStatement(LoopStatement loopstatementxx);

  public void killAbstractLoopStatement(List loopstatementxx);

 public void settest(LoopStatement loopstatementx, Expression testxx);
 public void setbody(LoopStatement loopstatementx, Statement bodyxx);
  public void addBoundedLoopStatement(BoundedLoopStatement oo);
    public void killBoundedLoopStatement(BoundedLoopStatement boundedloopstatementxx);
 public void setloopRange(BoundedLoopStatement boundedloopstatementx, Expression loopRangexx);
 public void setloopVar(BoundedLoopStatement boundedloopstatementx, Expression loopVarxx);
  public void addUnboundedLoopStatement(UnboundedLoopStatement oo);
    public void killUnboundedLoopStatement(UnboundedLoopStatement unboundedloopstatementxx);
  public void addAssignStatement(AssignStatement oo);
    public void killAssignStatement(AssignStatement assignstatementxx);
 public void settype(AssignStatement assignstatementx, List typexx);
   public void addtype(AssignStatement assignstatementx, Type typexx);
   public void removetype(AssignStatement assignstatementx, Type typexx);
   public void setleft(AssignStatement assignstatementx, Expression leftxx);
 public void setright(AssignStatement assignstatementx, Expression rightxx);
  public void addSequenceStatement(SequenceStatement oo);
    public void killSequenceStatement(SequenceStatement sequencestatementxx);
 public void setstatements(SequenceStatement sequencestatementx, List statementsxx);
   public void addstatements(SequenceStatement sequencestatementx, Statement statementsxx);
   public void removestatements(SequenceStatement sequencestatementx, Statement statementsxx);
    public void addConditionalStatement(ConditionalStatement oo);
    public void killConditionalStatement(ConditionalStatement conditionalstatementxx);
 public void settest(ConditionalStatement conditionalstatementx, Expression testxx);
 public void setifPart(ConditionalStatement conditionalstatementx, Statement ifPartxx);
 public void setelsePart(ConditionalStatement conditionalstatementx, List elsePartxx);
   public void addelsePart(ConditionalStatement conditionalstatementx, Statement elsePartxx);
   public void removeelsePart(ConditionalStatement conditionalstatementx, Statement elsePartxx);
    public void addCreationStatement(CreationStatement oo);
    public void killCreationStatement(CreationStatement creationstatementxx);
 public void setinitialExpression(CreationStatement creationstatementx, List initialExpressionxx);
   public void addinitialExpression(CreationStatement creationstatementx, Expression initialExpressionxx);
   public void removeinitialExpression(CreationStatement creationstatementx, Expression initialExpressionxx);
   public void settype(CreationStatement creationstatementx, Type typexx);
 public void setelementType(CreationStatement creationstatementx, Type elementTypexx);
  public void addCStatement(CStatement oo);
    public void killCStatement(CStatement cstatementxx);
  public void killAbstractCStatement(CStatement cstatementxx);

  public void killAbstractCStatement(List cstatementxx);

  public void addCReturnStatement(CReturnStatement oo);
    public void killCReturnStatement(CReturnStatement creturnstatementxx);
 public void setreturnValue(CReturnStatement creturnstatementx, List returnValuexx);
   public void addreturnValue(CReturnStatement creturnstatementx, CExpression returnValuexx);
   public void removereturnValue(CReturnStatement creturnstatementx, CExpression returnValuexx);
    public void addCBreakStatement(CBreakStatement oo);
    public void killCBreakStatement(CBreakStatement cbreakstatementxx);
  public void addOpCallStatement(OpCallStatement oo);
    public void killOpCallStatement(OpCallStatement opcallstatementxx);
 public void setcallExp(OpCallStatement opcallstatementx, CExpression callExpxx);
  public void addCLoopStatement(CLoopStatement oo);
    public void killCLoopStatement(CLoopStatement cloopstatementxx);
  public void killAbstractCLoopStatement(CLoopStatement cloopstatementxx);

  public void killAbstractCLoopStatement(List cloopstatementxx);

 public void settest(CLoopStatement cloopstatementx, CExpression testxx);
 public void setbody(CLoopStatement cloopstatementx, CStatement bodyxx);
  public void addForLoop(ForLoop oo);
    public void killForLoop(ForLoop forloopxx);
 public void setincrement(ForLoop forloopx, CSequenceStatement incrementxx);
 public void setloopVar(ForLoop forloopx, CExpression loopVarxx);
 public void setloopRange(ForLoop forloopx, CExpression loopRangexx);
  public void addWhileLoop(WhileLoop oo);
    public void killWhileLoop(WhileLoop whileloopxx);
  public void addCAssignment(CAssignment oo);
    public void killCAssignment(CAssignment cassignmentxx);
 public void settype(CAssignment cassignmentx, List typexx);
   public void addtype(CAssignment cassignmentx, CType typexx);
   public void removetype(CAssignment cassignmentx, CType typexx);
   public void setleft(CAssignment cassignmentx, CExpression leftxx);
 public void setright(CAssignment cassignmentx, CExpression rightxx);
  public void addCSequenceStatement(CSequenceStatement oo);
    public void killCSequenceStatement(CSequenceStatement csequencestatementxx);
 public void setstatements(CSequenceStatement csequencestatementx, List statementsxx);
   public void addstatements(CSequenceStatement csequencestatementx, CStatement statementsxx);
   public void removestatements(CSequenceStatement csequencestatementx, CStatement statementsxx);
    public void addIfStatement(IfStatement oo);
    public void killIfStatement(IfStatement ifstatementxx);
 public void settest(IfStatement ifstatementx, CExpression testxx);
 public void setifPart(IfStatement ifstatementx, CStatement ifPartxx);
 public void setelsePart(IfStatement ifstatementx, List elsePartxx);
   public void addelsePart(IfStatement ifstatementx, CStatement elsePartxx);
   public void removeelsePart(IfStatement ifstatementx, CStatement elsePartxx);
    public void addDeclarationStatement(DeclarationStatement oo);
    public void killDeclarationStatement(DeclarationStatement declarationstatementxx);
 public void setinitialExp(DeclarationStatement declarationstatementx, List initialExpxx);
   public void addinitialExp(DeclarationStatement declarationstatementx, CExpression initialExpxx);
   public void removeinitialExp(DeclarationStatement declarationstatementx, CExpression initialExpxx);
   public void settype(DeclarationStatement declarationstatementx, CType typexx);
 public void setelementType(DeclarationStatement declarationstatementx, CType elementTypexx);
  public void addPrintcode(Printcode oo);
    public void killPrintcode(Printcode printcodexx);
  public void addCatchStatement(CatchStatement oo);
    public void killCatchStatement(CatchStatement catchstatementxx);
 public void setcaughtObject(CatchStatement catchstatementx, Expression caughtObjectxx);
 public void setaction(CatchStatement catchstatementx, Statement actionxx);
  public void addFinalStatement(FinalStatement oo);
    public void killFinalStatement(FinalStatement finalstatementxx);
 public void setbody(FinalStatement finalstatementx, Statement bodyxx);
  public void addTryStatement(TryStatement oo);
    public void killTryStatement(TryStatement trystatementxx);
 public void setcatchClauses(TryStatement trystatementx, List catchClausesxx);
   public void addcatchClauses(TryStatement trystatementx, Statement catchClausesxx);
   public void removecatchClauses(TryStatement trystatementx, Statement catchClausesxx);
   public void setbody(TryStatement trystatementx, Statement bodyxx);
 public void setendStatement(TryStatement trystatementx, List endStatementxx);
   public void addendStatement(TryStatement trystatementx, Statement endStatementxx);
   public void removeendStatement(TryStatement trystatementx, Statement endStatementxx);
    public void addAssertStatement(AssertStatement oo);
    public void killAssertStatement(AssertStatement assertstatementxx);
 public void setcondition(AssertStatement assertstatementx, Expression conditionxx);
 public void setmessage(AssertStatement assertstatementx, List messagexx);
   public void addmessage(AssertStatement assertstatementx, Expression messagexx);
   public void removemessage(AssertStatement assertstatementx, Expression messagexx);
    public void addErrorStatement(ErrorStatement oo);
    public void killErrorStatement(ErrorStatement errorstatementxx);
 public void setthrownObject(ErrorStatement errorstatementx, Expression thrownObjectxx);
}

